package com.gxa.mapper;


import com.gxa.common.vo.DrugVo;
import com.gxa.entity.SysDrug;
import com.gxa.entity.SysProvider;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface DrugManagementMapper {

    List<DrugVo> findDrugList();

    /**
     * 根据供应商id查询供应商
     * @param providerId
     * @return
     */
    SysProvider findProviderById(@Param("providerId") Integer providerId);

    /**
     * 添加药品
     * @param sysDrug
     * @return
     */
    int addDrug(SysDrug sysDrug);

    /**
     * 根据药品id查找药品数量
     * @param id 药品ID
     * @return 药品数量
     */
    Integer selectNumById(@Param("id") Integer id);

    /**
     * 根据药品ID修改药品数量+
     * @param num 药品数量
     * @param id 药品id
     * @return 影响行数
     */
    Integer plusDrugNumById(@Param("num")Integer num,@Param("id")Integer id);

    /**
     * 根据药品ID修改药品数量-
     * @param num 药品数量
     * @param id 药品id
     * @return 影响行数
     */
    Integer subDrugNumById(@Param("num")Integer num,@Param("id")Integer id);


    /**
     * 修改药品的是否删除状态
     * @param id
     * @return
     */
    int updateDrugIsDeleteById(@Param("id") Integer id);

    /**
     * 通过药品id查询药品
     * @param id
     * @return
     */
    DrugVo findDrugById(@Param("id") Integer id);

    /**
     * 修改药品信息
     * @param sysDrug
     * @return
     */
    int updateDrug(SysDrug sysDrug);

    /**
     * 条件查询药品
     * @param condition
     * @return
     */
    List<DrugVo> findDrugByCondition(@Param("condition") String condition);

    int addDrugImg(@Param("imgURL") String imgURL, @Param("id") Integer id);
}
